package com.hbsd.paopaobackend.config;

import lombok.Data;
import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * Redisson配置类
 */
@Configuration
// 读取配置文件中的 redis 配置 (prefix: 前缀)
@ConfigurationProperties(prefix = "spring.redis")
@Data
public class RedissonConfig {
    // 因为定义了 @Bean， 之后才可以用 @Resource 注解

    // 获取到 application.yml 中的 redis 配置
    private String port;
    private String host;
    private String redisPassword;
    /**
     * 创建Redisson客户端
     * @return
     */
    @Bean
    public RedissonClient redissonClient() {
        // 1、创建配置
        Config config = new Config();
        // redis链接地址
        String redisAddress = String.format("redis://%s:%s", host, port);
        // 配置
        config.useSingleServer().setPassword(redisPassword).setAddress(redisAddress).setDatabase(3);

        // 2、创建Redisson客户端
        RedissonClient redisson = Redisson.create(config);

        return redisson;

    }
}
